package br.com.iswe.gwt.manter.client;

import java.util.List;
import java.util.Map;

import br.com.iswe.gwt.util.client.QueryInfo;
import br.com.iswe.gwt.util.client.RequestInfo;
import br.com.iswe.gwt.util.client.SessionInfo;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface ManterServiceAsync {

	/**
	 * @param listaRequest
	 * @param requestInfo
	 * @throws ISWERpcException
	 */
	void consultar(List listaRequest, RequestInfo requestInfo, AsyncCallback callback);
	
	void consultar(String controllerName, Map filtro, QueryInfo pageInfo, AsyncCallback callback);
	
	void detalhar(String controllerName, Map filtro, RequestInfo requestInfo, AsyncCallback callback);
	
	void salvar(String controllerName, Map bean, RequestInfo requestInfo, AsyncCallback callback);
	
	void deletar(String controllerName, Map bean, RequestInfo requestInfo, AsyncCallback callback);
	
	void getSessionInfo(String controllerName, AsyncCallback callback);
	
	void executeMap(String controllerName, String methodName, Map mapBean, RequestInfo requestInfo, AsyncCallback callback);
	void executeList(String controllerName, String methodName, Map mapBean, RequestInfo requestInfo, AsyncCallback callback);
	
	void associarManyToMany(String controllerName, Map bean, RequestInfo requestInfo, AsyncCallback callback);
	void removerManyToMany(String controllerName, Map bean, RequestInfo requestInfo, AsyncCallback callback);

	void efetuarLogin(String controllerName, Map bean, AsyncCallback callback);
	void efetuarLogout(String controllerName, AsyncCallback callback);
	
	
	
}
